// middleware/response.js
const ApiResponse = require('../utils/response');

module.exports = (req, res, next) => {
    // 成功响应方法
    res.success = (data = null, message = "操作成功", code = 200) => {
        res.status(code).json(ApiResponse.success(data, message, code));
    };

    // 错误响应方法
    res.error = (message = "操作失败", code = 500, data = null) => {
        res.status(code).json(ApiResponse.error(message, code, data));
    };

    // 未找到响应方法
    res.notFound = (message = "资源不存在", data = null) => {
        res.status(404).json(ApiResponse.notFound(message, data));
    };

    // 未授权响应方法
    res.unauthorized = (message = "未授权", data = null) => {
        res.status(401).json(ApiResponse.unauthorized(message, data));
    };

    // 禁止访问响应方法
    res.forbidden = (message = "禁止访问", data = null) => {
        res.status(403).json(ApiResponse.forbidden(message, data));
    };

    // 验证错误响应方法
    res.validationError = (errors = [], message = "验证失败") => {
        res.status(400).json(ApiResponse.validationError(errors, message));
    };

    next();
};